{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2018A股分化：市值、PB、PE"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import datetime\n",
    "import seaborn as sns\n",
    "\n",
    "sns.set_style('darkgrid')\n",
    "sns.set_context('poster')\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from jaqs.data import RemoteDataService\n",
    "import jaqs.util as jutil"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "Begin: DataApi login 17321165656@tcp://data.quantos.org:8910\n",
      "    login success \n",
      "\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "'0,'"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dataview_dir_path = '.'\n",
    "backtest_result_dir_path = '.'\n",
    "\n",
    "import os\n",
    "phone = os.environ.get('QUANTOS_USER')\n",
    "token = os.environ.get('QUANTOS_TOKEN')\n",
    "\n",
    "data_config = {\n",
    "  \"remote.data.address\": \"tcp://data.quantos.org:8910\",\n",
    "  \"remote.data.username\": phone,\n",
    "  \"timeout\": 3600,\n",
    "  \"remote.data.password\": token\n",
    "}\n",
    "\n",
    "ds = RemoteDataService()\n",
    "ds.init_from_config(data_config)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.font_manager import FontManager\n",
    "from pylab import mpl\n",
    "import subprocess\n",
    "\n",
    "def get_matplot_zh_font():\n",
    "    fm = FontManager()\n",
    "    mat_fonts = set(f.name for f in fm.ttflist)\n",
    "\n",
    "    output = subprocess.check_output('fc-list :lang=zh -f \"%{family}\\n\"', shell=True)\n",
    "    zh_fonts = set(f.split(',', 1)[0] for f in output.split('\\n'))\n",
    "    available = list(mat_fonts & zh_fonts)\n",
    "\n",
    "    print('*' * 10, '可用的字体', '*' * 10)\n",
    "    for f in available:\n",
    "        print(f)\n",
    "    return available\n",
    "\n",
    "def set_matplot_zh_font():\n",
    "    available = get_matplot_zh_font()\n",
    "    print(available)\n",
    "    if len(available) > 0:\n",
    "        mpl.rcParams['font.sans-serif'] = [available[1]]    # 指定默认字体\n",
    "        mpl.rcParams['axes.unicode_minus'] = False          # 解决保存图像是负号'-'显示为方块的问题\n",
    "# get_matplot_zh_font()\n",
    "# set_matplot_zh_font()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 获取数据"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 获取数据：非ST非次新的股票标的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "TARGET_DATE = 20171229\n",
    "START_DATE = TARGET_DATE\n",
    "END_DATE = 20180209"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "new_stocks_criteria_date = jutil.shift(TARGET_DATE, n_weeks= -24)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>currency</th>\n",
       "      <th>delist_date</th>\n",
       "      <th>inst_type</th>\n",
       "      <th>list_date</th>\n",
       "      <th>market</th>\n",
       "      <th>multiplier</th>\n",
       "      <th>name</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>399300.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>沪深300</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399106.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深证综指</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399004.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深证100R</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399974.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>国企改革</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399001.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深证成指</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399967.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>中证军工</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399006.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>创业板指</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399002.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深成指R</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399003.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>成份Ｂ指</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>399005.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>100</td>\n",
       "      <td>0</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>中小板指</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          currency  delist_date  inst_type  list_date market  multiplier  \\\n",
       "symbol                                                                     \n",
       "399300.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399106.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399004.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399974.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399001.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399967.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399006.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399002.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399003.SZ      CNY     99999999        100          0     SZ           1   \n",
       "399005.SZ      CNY     99999999        100          0     SZ           1   \n",
       "\n",
       "             name  status  \n",
       "symbol                     \n",
       "399300.SZ   沪深300       1  \n",
       "399106.SZ    深证综指       1  \n",
       "399004.SZ  深证100R       1  \n",
       "399974.SZ    国企改革       1  \n",
       "399001.SZ    深证成指       1  \n",
       "399967.SZ    中证军工       1  \n",
       "399006.SZ    创业板指       1  \n",
       "399002.SZ    深成指R       1  \n",
       "399003.SZ    成份Ｂ指       1  \n",
       "399005.SZ    中小板指       1  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst = ds.query_inst_info('', fields=','.join(['symbol', 'name', 'inst_type', 'market',\n",
    "                                                  'status', 'multiplier', 'list_date', 'delist_date',\n",
    "                                                  'currency'])\n",
    "                            )\n",
    "df_inst.head(10)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "114"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst['name'].apply(lambda s: 'ST' in s).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3318\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>currency</th>\n",
       "      <th>delist_date</th>\n",
       "      <th>inst_type</th>\n",
       "      <th>list_date</th>\n",
       "      <th>market</th>\n",
       "      <th>multiplier</th>\n",
       "      <th>name</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910403</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>平安银行</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910129</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000009.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910625</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>中国宝安</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000027.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19930903</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深圳能源</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000039.SZ</th>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19940408</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>中集集团</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          currency  delist_date  inst_type  list_date market  multiplier  \\\n",
       "symbol                                                                     \n",
       "000001.SZ      CNY     99999999          1   19910403     SZ           1   \n",
       "000002.SZ      CNY     99999999          1   19910129     SZ           1   \n",
       "000009.SZ      CNY     99999999          1   19910625     SZ           1   \n",
       "000027.SZ      CNY     99999999          1   19930903     SZ           1   \n",
       "000039.SZ      CNY     99999999          1   19940408     SZ           1   \n",
       "\n",
       "            name  status  \n",
       "symbol                    \n",
       "000001.SZ   平安银行       1  \n",
       "000002.SZ  万  科Ａ       1  \n",
       "000009.SZ   中国宝安       1  \n",
       "000027.SZ   深圳能源       1  \n",
       "000039.SZ   中集集团       1  "
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst_stocks = df_inst.loc[(df_inst['inst_type'] == 1) \n",
    "                             & (df_inst['market'].apply(lambda s: s == 'SH' or s == 'SZ'))\n",
    "                             & (df_inst['delist_date'] > TARGET_DATE)\n",
    "                             & (df_inst['list_date'] <= new_stocks_criteria_date)\n",
    "                             & (df_inst['name'].apply(lambda s: 'ST' not in s))\n",
    "                            ].copy()\n",
    "print(len(df_inst_stocks))\n",
    "df_inst_stocks.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst_stocks['name'].apply(lambda s: 'ST' in s).sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "stocks = df_inst_stocks.index.values.tolist()\n",
    "len(stocks)\n",
    "stocks_str = ','.join(stocks)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取数据：市值、PE、PB"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "3214\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>float_mv</th>\n",
       "      <th>float_share</th>\n",
       "      <th>free_share</th>\n",
       "      <th>pb</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>symbol</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>free_mv</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2.250093e+07</td>\n",
       "      <td>1.691799e+06</td>\n",
       "      <td>761028.1784</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>1.012167e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3.015667e+07</td>\n",
       "      <td>9.709165e+05</td>\n",
       "      <td>554028.3842</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>000002.SZ</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>1.720812e+07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.856727e+05</td>\n",
       "      <td>8.296368e+03</td>\n",
       "      <td>4927.8141</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>000004.SZ</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>1.102845e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>3.938061e+05</td>\n",
       "      <td>9.512225e+04</td>\n",
       "      <td>75989.3418</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>000005.SZ</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>3.145959e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.324992e+06</td>\n",
       "      <td>1.345169e+05</td>\n",
       "      <td>88617.0976</td>\n",
       "      <td>2.6067</td>\n",
       "      <td>13.2546</td>\n",
       "      <td>000006.SZ</td>\n",
       "      <td>1.329745e+06</td>\n",
       "      <td>8.728784e+05</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       float_mv   float_share   free_share       pb   pe_ttm     symbol  \\\n",
       "0  2.250093e+07  1.691799e+06  761028.1784   1.1524   9.9148  000001.SZ   \n",
       "1  3.015667e+07  9.709165e+05  554028.3842   2.9463  14.3756  000002.SZ   \n",
       "2  1.856727e+05  8.296368e+03    4927.8141  16.2876  98.0563  000004.SZ   \n",
       "3  3.938061e+05  9.512225e+04   75989.3418   3.4607   0.0000  000005.SZ   \n",
       "4  1.324992e+06  1.345169e+05   88617.0976   2.6067  13.2546  000006.SZ   \n",
       "\n",
       "       total_mv       free_mv  \n",
       "0  2.283665e+07  1.012167e+07  \n",
       "1  3.428761e+07  1.720812e+07  \n",
       "2  1.879398e+05  1.102845e+05  \n",
       "3  4.382343e+05  3.145959e+05  \n",
       "4  1.329745e+06  8.728784e+05  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_mv, _ = ds.query_lb_dailyindicator(stocks_str, TARGET_DATE, TARGET_DATE,\n",
    "                                      'pe_ttm,pb,total_mv,float_mv,float_share,free_share')\n",
    "df_mv.loc[:, 'free_mv'] = df_mv['float_mv'] * df_mv['free_share'] / df_mv['float_share']\n",
    "print(len(df_mv))\n",
    "df_mv.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 预处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "LARGE_NUMBER = 1e4\n",
    "df_mv.loc[df_mv['pe_ttm'] < 1e-3, 'pe_ttm'] = LARGE_NUMBER\n",
    "df_mv.loc[df_mv['pb'] < 1e-3, 'pe'] = LARGE_NUMBER"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3214, 14)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>symbol</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>float_mv</th>\n",
       "      <th>free_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>currency</th>\n",
       "      <th>delist_date</th>\n",
       "      <th>inst_type</th>\n",
       "      <th>list_date</th>\n",
       "      <th>market</th>\n",
       "      <th>multiplier</th>\n",
       "      <th>name</th>\n",
       "      <th>status</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>000001.SZ</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>2.250093e+07</td>\n",
       "      <td>1.012167e+07</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910403</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>平安银行</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>000002.SZ</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>3.015667e+07</td>\n",
       "      <td>1.720812e+07</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910129</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>000004.SZ</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>1.856727e+05</td>\n",
       "      <td>1.102845e+05</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19910114</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>国农科技</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>000005.SZ</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>3.938061e+05</td>\n",
       "      <td>3.145959e+05</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19901210</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>世纪星源</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>000006.SZ</td>\n",
       "      <td>1.329745e+06</td>\n",
       "      <td>1.324992e+06</td>\n",
       "      <td>8.728784e+05</td>\n",
       "      <td>13.2546</td>\n",
       "      <td>2.6067</td>\n",
       "      <td>CNY</td>\n",
       "      <td>99999999</td>\n",
       "      <td>1</td>\n",
       "      <td>19920427</td>\n",
       "      <td>SZ</td>\n",
       "      <td>1</td>\n",
       "      <td>深振业Ａ</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      symbol      total_mv      float_mv       free_mv   pe_ttm       pb  \\\n",
       "0  000001.SZ  2.283665e+07  2.250093e+07  1.012167e+07   9.9148   1.1524   \n",
       "1  000002.SZ  3.428761e+07  3.015667e+07  1.720812e+07  14.3756   2.9463   \n",
       "2  000004.SZ  1.879398e+05  1.856727e+05  1.102845e+05  98.0563  16.2876   \n",
       "3  000005.SZ  4.382343e+05  3.938061e+05  3.145959e+05   0.0000   3.4607   \n",
       "4  000006.SZ  1.329745e+06  1.324992e+06  8.728784e+05  13.2546   2.6067   \n",
       "\n",
       "  currency  delist_date  inst_type  list_date market  multiplier   name  \\\n",
       "0      CNY     99999999          1   19910403     SZ           1   平安银行   \n",
       "1      CNY     99999999          1   19910129     SZ           1  万  科Ａ   \n",
       "2      CNY     99999999          1   19910114     SZ           1   国农科技   \n",
       "3      CNY     99999999          1   19901210     SZ           1   世纪星源   \n",
       "4      CNY     99999999          1   19920427     SZ           1   深振业Ａ   \n",
       "\n",
       "   status  \n",
       "0       1  \n",
       "1       1  \n",
       "2       1  \n",
       "3       1  \n",
       "4       1  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst_stocks = pd.merge(df_mv[['symbol', 'total_mv', 'float_mv', 'free_mv', 'pe_ttm', 'pb']], df_inst_stocks.reset_index(), on=['symbol'], how='left')\n",
    "print(df_inst_stocks.shape)\n",
    "df_inst_stocks.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 获取数据：行业分类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>000001.SZ</th>\n",
       "      <th>000002.SZ</th>\n",
       "      <th>000004.SZ</th>\n",
       "      <th>000005.SZ</th>\n",
       "      <th>000006.SZ</th>\n",
       "      <th>000007.SZ</th>\n",
       "      <th>000008.SZ</th>\n",
       "      <th>000009.SZ</th>\n",
       "      <th>000010.SZ</th>\n",
       "      <th>000011.SZ</th>\n",
       "      <th>...</th>\n",
       "      <th>900946.SH</th>\n",
       "      <th>900947.SH</th>\n",
       "      <th>900948.SH</th>\n",
       "      <th>900950.SH</th>\n",
       "      <th>900951.SH</th>\n",
       "      <th>900952.SH</th>\n",
       "      <th>900953.SH</th>\n",
       "      <th>900955.SH</th>\n",
       "      <th>900956.SH</th>\n",
       "      <th>900957.SH</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>20171229</th>\n",
       "      <td>480000</td>\n",
       "      <td>430000</td>\n",
       "      <td>370000</td>\n",
       "      <td>410000</td>\n",
       "      <td>430000</td>\n",
       "      <td>510000</td>\n",
       "      <td>640000</td>\n",
       "      <td>510000</td>\n",
       "      <td>620000</td>\n",
       "      <td>430000</td>\n",
       "      <td>...</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "      <td>nan</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1 rows × 3318 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         000001.SZ 000002.SZ 000004.SZ 000005.SZ 000006.SZ 000007.SZ  \\\n",
       "20171229    480000    430000    370000    410000    430000    510000   \n",
       "\n",
       "         000008.SZ 000009.SZ 000010.SZ 000011.SZ    ...    900946.SH  \\\n",
       "20171229    640000    510000    620000    430000    ...          nan   \n",
       "\n",
       "         900947.SH 900948.SH 900950.SH 900951.SH 900952.SH 900953.SH  \\\n",
       "20171229       nan       nan       nan       nan       nan       nan   \n",
       "\n",
       "         900955.SH 900956.SH 900957.SH  \n",
       "20171229       nan       nan       nan  \n",
       "\n",
       "[1 rows x 3318 columns]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "INDUSTRY_CLASSIFICATION_TYPE = 'SW'\n",
    "df_ind = ds.query_industry_daily(stocks_str,\n",
    "                                 start_date=TARGET_DATE-10, end_date=TARGET_DATE,\n",
    "                                 type_=INDUSTRY_CLASSIFICATION_TYPE, level=1).loc[[TARGET_DATE], :]\n",
    "df_ind"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SW</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>480000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>430000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.SZ</th>\n",
       "      <td>370000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.SZ</th>\n",
       "      <td>410000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000006.SZ</th>\n",
       "      <td>430000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               SW\n",
       "symbol           \n",
       "000001.SZ  480000\n",
       "000002.SZ  430000\n",
       "000004.SZ  370000\n",
       "000005.SZ  410000\n",
       "000006.SZ  430000"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ind = df_ind.T\n",
    "df_ind.columns = [INDUSTRY_CLASSIFICATION_TYPE]\n",
    "df_ind.index.name = 'symbol'\n",
    "df_ind.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_ind.fillna('unknown', inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "480000\n",
      "银行\n",
      "430000\n",
      "房地产\n",
      "370000\n",
      "医药生物\n",
      "410000\n",
      "公用事业\n",
      "210000\n",
      "采掘\n",
      "240000\n",
      "有色金属\n",
      "460000\n",
      "休闲服务\n",
      "510000\n",
      "综合\n",
      "640000\n",
      "机械设备\n",
      "620000\n",
      "建筑装饰\n",
      "610000\n",
      "建筑材料\n",
      "330000\n",
      "家用电器\n",
      "280000\n",
      "汽车\n",
      "340000\n",
      "食品饮料\n",
      "270000\n",
      "电子\n",
      "710000\n",
      "计算机\n",
      "420000\n",
      "交通运输\n",
      "360000\n",
      "轻工制造\n",
      "730000\n",
      "通信\n",
      "110000\n",
      "农林牧渔\n",
      "720000\n",
      "传媒\n",
      "350000\n",
      "纺织服装\n",
      "450000\n",
      "商业贸易\n",
      "220000\n",
      "化工\n",
      "630000\n",
      "电气设备\n",
      "490000\n",
      "非银金融\n",
      "650000\n",
      "国防军工\n",
      "230000\n",
      "钢铁\n",
      "unknown\n",
      "unknown\n"
     ]
    }
   ],
   "source": [
    "df_ind_raw = ds.query_industry_raw(stocks_str, type_=INDUSTRY_CLASSIFICATION_TYPE, level=1)\n",
    "dic_ind = df_ind_raw.loc[:, ['industry1_code', 'industry1_name']].set_index('industry1_code').drop_duplicates()['industry1_name'].to_dict()\n",
    "dic_ind['unknown'] = 'unknown'\n",
    "\n",
    "for k, v in dic_ind.items():\n",
    "    print(k)\n",
    "    print(v)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "640000    300\n",
       "220000    286\n",
       "370000    250\n",
       "270000    197\n",
       "710000    185\n",
       "630000    176\n",
       "280000    147\n",
       "410000    138\n",
       "720000    129\n",
       "430000    123\n",
       "360000    113\n",
       "620000    111\n",
       "240000    107\n",
       "nan       103\n",
       "420000     99\n",
       "450000     93\n",
       "730000     88\n",
       "110000     87\n",
       "340000     87\n",
       "350000     85\n",
       "610000     68\n",
       "330000     62\n",
       "210000     55\n",
       "490000     54\n",
       "650000     46\n",
       "510000     44\n",
       "230000     30\n",
       "460000     30\n",
       "480000     25\n",
       "Name: SW, dtype: int64"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_ind['SW'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3214, 7)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>list_date</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>SW</th>\n",
       "      <th>SW_name</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>平安银行</td>\n",
       "      <td>19910403</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>480000</td>\n",
       "      <td>银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>19910129</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.SZ</th>\n",
       "      <td>国农科技</td>\n",
       "      <td>19910114</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>370000</td>\n",
       "      <td>医药生物</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.SZ</th>\n",
       "      <td>世纪星源</td>\n",
       "      <td>19901210</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>410000</td>\n",
       "      <td>公用事业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000006.SZ</th>\n",
       "      <td>深振业Ａ</td>\n",
       "      <td>19920427</td>\n",
       "      <td>1.329745e+06</td>\n",
       "      <td>13.2546</td>\n",
       "      <td>2.6067</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            name  list_date      total_mv   pe_ttm       pb      SW SW_name\n",
       "symbol                                                                     \n",
       "000001.SZ   平安银行   19910403  2.283665e+07   9.9148   1.1524  480000      银行\n",
       "000002.SZ  万  科Ａ   19910129  3.428761e+07  14.3756   2.9463  430000     房地产\n",
       "000004.SZ   国农科技   19910114  1.879398e+05  98.0563  16.2876  370000    医药生物\n",
       "000005.SZ   世纪星源   19901210  4.382343e+05   0.0000   3.4607  410000    公用事业\n",
       "000006.SZ   深振业Ａ   19920427  1.329745e+06  13.2546   2.6067  430000     房地产"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst_all = pd.merge(df_inst_stocks[['symbol', 'name', 'list_date', 'total_mv', 'pe_ttm', 'pb', # 'float_mv', 'free_mv'\n",
    "                                      ]],\n",
    "         df_ind.reset_index(),\n",
    "         on='symbol', how='left').set_index('symbol')\n",
    "\n",
    "df_inst_all.loc[:, INDUSTRY_CLASSIFICATION_TYPE+'_name'] = \\\n",
    "    df_inst_all[INDUSTRY_CLASSIFICATION_TYPE].apply(lambda s: dic_ind[s])\n",
    "\n",
    "print(df_inst_all.shape)\n",
    "df_inst_all.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 获取数据：停牌"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_close_price(symbol, date, field='close'):\n",
    "    df, msg = ds.daily(symbol,\n",
    "                             start_date=date, end_date=date,\n",
    "                             adjust_mode='post')\n",
    "    res = df.set_index('symbol').loc[:, [field]]\n",
    "    res.columns = [date]\n",
    "    return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "ser_trade_status = get_close_price(stocks_str, TARGET_DATE, field='trade_status')[TARGET_DATE]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "symbol\n",
       "603000.SH    交易\n",
       "300665.SZ    交易\n",
       "000977.SZ    交易\n",
       "601991.SH    交易\n",
       "600682.SH    交易\n",
       "Name: 20171229, dtype: object"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ser_trade_status.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [],
   "source": [
    "mask_trading = ser_trade_status.apply(lambda s: s == u'交易')\n",
    "stocks_trading = mask_trading[mask_trading].index.values.tolist()\n",
    "stocks_trading_str = ','.join(stocks_trading)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3017, 7)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>list_date</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>SW</th>\n",
       "      <th>SW_name</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>603000.SH</th>\n",
       "      <td>人民网</td>\n",
       "      <td>20120427</td>\n",
       "      <td>1.197463e+06</td>\n",
       "      <td>254.7790</td>\n",
       "      <td>4.4054</td>\n",
       "      <td>720000</td>\n",
       "      <td>传媒</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>300665.SZ</th>\n",
       "      <td>飞鹿股份</td>\n",
       "      <td>20170613</td>\n",
       "      <td>2.159920e+05</td>\n",
       "      <td>55.0253</td>\n",
       "      <td>5.1023</td>\n",
       "      <td>220000</td>\n",
       "      <td>化工</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000977.SZ</th>\n",
       "      <td>浪潮信息</td>\n",
       "      <td>20000608</td>\n",
       "      <td>2.563033e+06</td>\n",
       "      <td>136.3036</td>\n",
       "      <td>3.6069</td>\n",
       "      <td>710000</td>\n",
       "      <td>计算机</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>601991.SH</th>\n",
       "      <td>大唐发电</td>\n",
       "      <td>20061220</td>\n",
       "      <td>5.523666e+06</td>\n",
       "      <td>22.7186</td>\n",
       "      <td>1.3246</td>\n",
       "      <td>410000</td>\n",
       "      <td>公用事业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600682.SH</th>\n",
       "      <td>南京新百</td>\n",
       "      <td>19931018</td>\n",
       "      <td>4.202152e+06</td>\n",
       "      <td>34.4630</td>\n",
       "      <td>5.7106</td>\n",
       "      <td>450000</td>\n",
       "      <td>商业贸易</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           name  list_date      total_mv    pe_ttm      pb      SW SW_name\n",
       "symbol                                                                    \n",
       "603000.SH   人民网   20120427  1.197463e+06  254.7790  4.4054  720000      传媒\n",
       "300665.SZ  飞鹿股份   20170613  2.159920e+05   55.0253  5.1023  220000      化工\n",
       "000977.SZ  浪潮信息   20000608  2.563033e+06  136.3036  3.6069  710000     计算机\n",
       "601991.SH  大唐发电   20061220  5.523666e+06   22.7186  1.3246  410000    公用事业\n",
       "600682.SH  南京新百   19931018  4.202152e+06   34.4630  5.7106  450000    商业贸易"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_inst_trading = df_inst_all.loc[stocks_trading].copy()\n",
    "print(df_inst_trading.shape)\n",
    "df_inst_trading.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3214, 7)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>list_date</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>SW</th>\n",
       "      <th>SW_name</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>平安银行</td>\n",
       "      <td>19910403</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>480000</td>\n",
       "      <td>银行</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>19910129</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.SZ</th>\n",
       "      <td>国农科技</td>\n",
       "      <td>19910114</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>370000</td>\n",
       "      <td>医药生物</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.SZ</th>\n",
       "      <td>世纪星源</td>\n",
       "      <td>19901210</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>410000</td>\n",
       "      <td>公用事业</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000006.SZ</th>\n",
       "      <td>深振业Ａ</td>\n",
       "      <td>19920427</td>\n",
       "      <td>1.329745e+06</td>\n",
       "      <td>13.2546</td>\n",
       "      <td>2.6067</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            name  list_date      total_mv   pe_ttm       pb      SW SW_name\n",
       "symbol                                                                     \n",
       "000001.SZ   平安银行   19910403  2.283665e+07   9.9148   1.1524  480000      银行\n",
       "000002.SZ  万  科Ａ   19910129  3.428761e+07  14.3756   2.9463  430000     房地产\n",
       "000004.SZ   国农科技   19910114  1.879398e+05  98.0563  16.2876  370000    医药生物\n",
       "000005.SZ   世纪星源   19901210  4.382343e+05   0.0000   3.4607  410000    公用事业\n",
       "000006.SZ   深振业Ａ   19920427  1.329745e+06  13.2546   2.6067  430000     房地产"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(df_inst_all.shape)\n",
    "df_inst_all.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>list_date</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>SW</th>\n",
       "      <th>SW_name</th>\n",
       "      <th>total_mv_norm</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>平安银行</td>\n",
       "      <td>19910403</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>480000</td>\n",
       "      <td>银行</td>\n",
       "      <td>0.003728</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>19910129</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "      <td>0.005597</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.SZ</th>\n",
       "      <td>国农科技</td>\n",
       "      <td>19910114</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>370000</td>\n",
       "      <td>医药生物</td>\n",
       "      <td>0.000031</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.SZ</th>\n",
       "      <td>世纪星源</td>\n",
       "      <td>19901210</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>410000</td>\n",
       "      <td>公用事业</td>\n",
       "      <td>0.000072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000006.SZ</th>\n",
       "      <td>深振业Ａ</td>\n",
       "      <td>19920427</td>\n",
       "      <td>1.329745e+06</td>\n",
       "      <td>13.2546</td>\n",
       "      <td>2.6067</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "      <td>0.000217</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            name  list_date      total_mv   pe_ttm       pb      SW SW_name  \\\n",
       "symbol                                                                        \n",
       "000001.SZ   平安银行   19910403  2.283665e+07   9.9148   1.1524  480000      银行   \n",
       "000002.SZ  万  科Ａ   19910129  3.428761e+07  14.3756   2.9463  430000     房地产   \n",
       "000004.SZ   国农科技   19910114  1.879398e+05  98.0563  16.2876  370000    医药生物   \n",
       "000005.SZ   世纪星源   19901210  4.382343e+05   0.0000   3.4607  410000    公用事业   \n",
       "000006.SZ   深振业Ａ   19920427  1.329745e+06  13.2546   2.6067  430000     房地产   \n",
       "\n",
       "           total_mv_norm  \n",
       "symbol                    \n",
       "000001.SZ       0.003728  \n",
       "000002.SZ       0.005597  \n",
       "000004.SZ       0.000031  \n",
       "000005.SZ       0.000072  \n",
       "000006.SZ       0.000217  "
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def calc_norm(df, col_list):\n",
    "    mv_col = 'free_mv'\n",
    "    for col in col_list:\n",
    "        df.loc[:, col + '_norm'] =  df[col] / df[col].sum()\n",
    "    return df\n",
    "\n",
    "df_inst_all = calc_norm(df_inst_all, col_list=['total_mv'])\n",
    "df_inst_all.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 获取数据：价格"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "df_price1 = get_close_price(stocks_trading_str, START_DATE)\n",
    "df_price2 = get_close_price(stocks_trading_str, END_DATE)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3017, 3)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>20171229</th>\n",
       "      <th>20180209</th>\n",
       "      <th>return</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>603000.SH</th>\n",
       "      <td>44.507022</td>\n",
       "      <td>39.205632</td>\n",
       "      <td>-0.119114</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>300665.SZ</th>\n",
       "      <td>28.420000</td>\n",
       "      <td>20.490000</td>\n",
       "      <td>-0.279029</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000977.SZ</th>\n",
       "      <td>119.918406</td>\n",
       "      <td>95.488349</td>\n",
       "      <td>-0.203722</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>600682.SH</th>\n",
       "      <td>474.784944</td>\n",
       "      <td>418.122332</td>\n",
       "      <td>-0.119344</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>601991.SH</th>\n",
       "      <td>10.039410</td>\n",
       "      <td>9.047565</td>\n",
       "      <td>-0.098795</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             20171229    20180209    return\n",
       "symbol                                     \n",
       "603000.SH   44.507022   39.205632 -0.119114\n",
       "300665.SZ   28.420000   20.490000 -0.279029\n",
       "000977.SZ  119.918406   95.488349 -0.203722\n",
       "600682.SH  474.784944  418.122332 -0.119344\n",
       "601991.SH   10.039410    9.047565 -0.098795"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_price = pd.concat([df_price1, df_price2], axis=1, join='inner')\n",
    "df_price.loc[:, 'return'] = df_price[END_DATE] *1. / df_price[START_DATE] - 1\n",
    "print(df_price.shape)\n",
    "df_price.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 计算：指标所在quantile"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "N_QUANTILE = 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [],
   "source": [
    "def group_quantile(df, group, n_quantiles=5, mask=None, axis=0):\n",
    "    res = None\n",
    "    groups = np.unique(pd.Series(group.values.flatten()).dropna())\n",
    "    for val in groups:\n",
    "        group_mask = (group == val)\n",
    "        val_res = jutil.to_quantile(df[group_mask].reindex(df.index), n_quantiles=n_quantiles, axis=axis)\n",
    "        if res is None:\n",
    "            res = val_res\n",
    "        else:\n",
    "            res = res.fillna(val_res)\n",
    "    res.columns = [s + '_q' for s in res.columns]\n",
    "    return res\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(3017, 14)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>name</th>\n",
       "      <th>list_date</th>\n",
       "      <th>total_mv</th>\n",
       "      <th>pe_ttm</th>\n",
       "      <th>pb</th>\n",
       "      <th>SW</th>\n",
       "      <th>SW_name</th>\n",
       "      <th>total_mv_norm</th>\n",
       "      <th>20171229</th>\n",
       "      <th>20180209</th>\n",
       "      <th>return</th>\n",
       "      <th>total_mv_q</th>\n",
       "      <th>pe_ttm_q</th>\n",
       "      <th>pb_q</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>symbol</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>000001.SZ</th>\n",
       "      <td>平安银行</td>\n",
       "      <td>19910403</td>\n",
       "      <td>2.283665e+07</td>\n",
       "      <td>9.9148</td>\n",
       "      <td>1.1524</td>\n",
       "      <td>480000</td>\n",
       "      <td>银行</td>\n",
       "      <td>0.003728</td>\n",
       "      <td>1413.906920</td>\n",
       "      <td>1242.749767</td>\n",
       "      <td>-0.121053</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000002.SZ</th>\n",
       "      <td>万  科Ａ</td>\n",
       "      <td>19910129</td>\n",
       "      <td>3.428761e+07</td>\n",
       "      <td>14.3756</td>\n",
       "      <td>2.9463</td>\n",
       "      <td>430000</td>\n",
       "      <td>房地产</td>\n",
       "      <td>0.005597</td>\n",
       "      <td>4264.539708</td>\n",
       "      <td>4293.372720</td>\n",
       "      <td>0.006761</td>\n",
       "      <td>5.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000004.SZ</th>\n",
       "      <td>国农科技</td>\n",
       "      <td>19910114</td>\n",
       "      <td>1.879398e+05</td>\n",
       "      <td>98.0563</td>\n",
       "      <td>16.2876</td>\n",
       "      <td>370000</td>\n",
       "      <td>医药生物</td>\n",
       "      <td>0.000031</td>\n",
       "      <td>90.949232</td>\n",
       "      <td>81.480433</td>\n",
       "      <td>-0.104111</td>\n",
       "      <td>1.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000005.SZ</th>\n",
       "      <td>世纪星源</td>\n",
       "      <td>19901210</td>\n",
       "      <td>4.382343e+05</td>\n",
       "      <td>0.0000</td>\n",
       "      <td>3.4607</td>\n",
       "      <td>410000</td>\n",
       "      <td>公用事业</td>\n",
       "      <td>0.000072</td>\n",
       "      <td>38.367876</td>\n",
       "      <td>33.734075</td>\n",
       "      <td>-0.120773</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>000008.SZ</th>\n",
       "      <td>神州高铁</td>\n",
       "      <td>19920507</td>\n",
       "      <td>2.466039e+06</td>\n",
       "      <td>57.7672</td>\n",
       "      <td>3.9498</td>\n",
       "      <td>640000</td>\n",
       "      <td>机械设备</td>\n",
       "      <td>0.000403</td>\n",
       "      <td>192.958360</td>\n",
       "      <td>166.716023</td>\n",
       "      <td>-0.136000</td>\n",
       "      <td>5.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            name  list_date      total_mv   pe_ttm       pb      SW SW_name  \\\n",
       "symbol                                                                        \n",
       "000001.SZ   平安银行   19910403  2.283665e+07   9.9148   1.1524  480000      银行   \n",
       "000002.SZ  万  科Ａ   19910129  3.428761e+07  14.3756   2.9463  430000     房地产   \n",
       "000004.SZ   国农科技   19910114  1.879398e+05  98.0563  16.2876  370000    医药生物   \n",
       "000005.SZ   世纪星源   19901210  4.382343e+05   0.0000   3.4607  410000    公用事业   \n",
       "000008.SZ   神州高铁   19920507  2.466039e+06  57.7672   3.9498  640000    机械设备   \n",
       "\n",
       "           total_mv_norm     20171229     20180209    return  total_mv_q  \\\n",
       "symbol                                                                     \n",
       "000001.SZ       0.003728  1413.906920  1242.749767 -0.121053         3.0   \n",
       "000002.SZ       0.005597  4264.539708  4293.372720  0.006761         5.0   \n",
       "000004.SZ       0.000031    90.949232    81.480433 -0.104111         1.0   \n",
       "000005.SZ       0.000072    38.367876    33.734075 -0.120773         2.0   \n",
       "000008.SZ       0.000403   192.958360   166.716023 -0.136000         5.0   \n",
       "\n",
       "           pe_ttm_q  pb_q  \n",
       "symbol                     \n",
       "000001.SZ       4.0   4.0  \n",
       "000002.SZ       2.0   4.0  \n",
       "000004.SZ       5.0   5.0  \n",
       "000005.SZ       1.0   4.0  \n",
       "000008.SZ       3.0   4.0  "
      ]
     },
     "execution_count": 57,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_all = pd.merge(df_inst_all, df_price, left_index=True, right_index=True, how='inner')\n",
    "df_all = \\\n",
    "pd.concat(\n",
    "    [df_all]\n",
    "    + [group_quantile(df_all[[field_name]],\n",
    "                     df_all[INDUSTRY_CLASSIFICATION_TYPE],\n",
    "                     n_quantiles=N_QUANTILE, axis=0) for field_name in ['total_mv', 'pe_ttm', 'pb']]\n",
    "    , axis=1)\n",
    "print(df_all.shape)\n",
    "df_all.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 分组计算：行业内每个quantile的平均收益"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [],
   "source": [
    "func_last = lambda ser: ser.iat[-1]\n",
    "\n",
    "def plot_quantile_return(df_all, field):\n",
    "    field_quantile = field + '_q'\n",
    "    \n",
    "    df_industry_return = \\\n",
    "    df_all.groupby(by=[INDUSTRY_CLASSIFICATION_TYPE, field_quantile]).agg(\n",
    "        {'total_mv': np.nansum,\n",
    "         'return': np.nanmean,\n",
    "         INDUSTRY_CLASSIFICATION_TYPE + '_name': func_last}\n",
    "    )\n",
    "    \n",
    "    df_quantile_return = \\\n",
    "    df_industry_return.groupby(by=field_quantile).apply(\n",
    "        lambda df: np.average(df['return'], weights=df['total_mv'])\n",
    "    )\n",
    "    \n",
    "    plt.figure(figsize=(14, 8))\n",
    "    plt.plot(df_quantile_return.index, df_quantile_return.values, marker='o')\n",
    "    plt.axhline(0.0, c='k', ls='--', lw=1)\n",
    "    #df_quantile_return.plot(marker='o')\n",
    "    plt.xticks(df_quantile_return.index)\n",
    "    plt.ylabel('Average Return')\n",
    "    plt.xlabel('{} Quantile'.format(field))\n",
    "    plt.title(\"Quantile of {} to Average Return\".format(field))\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x11435898>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_quantile_return(df_all, 'total_mv')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xf2b1a90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_quantile_return(df_all, 'pe_ttm')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x10747160>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_quantile_return(df_all, 'pb')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
